--- @class Csharp.Model
--- @field Version? Csharp.Model.ModelVersion
--- @field ModelInfo? Csharp.Model.ModelInfo
--- @field Sequences? Csharp.Model.Sequence[]
--- @field Textures? Csharp.Model.Texture[]
--- @field Materials? Csharp.Model.Material[]
--- @field Geosets? Csharp.Model.Geoset[]
--- @field GeosetAnimations? Csharp.Model.GeosetAnimation[]
--- @field Bones? Csharp.Model.Bone[]
--- @field Helpers? Csharp.Model.Helper[]
--- @field Attachments? Csharp.Model.Attachment[]
--- @field PivotPoints? Csharp.Vector3[]
--- @field EventObjects? Csharp.Model.EventObject[]
--- @field CollisionShapes? Csharp.Model.CollisionShape[]
--- @field GlobalSequences? Csharp.Model.GlobalSequence[]
--- @field ParticleEmitters? Csharp.Model.ParticleEmitter[]
--- @field ParticleEmitters2? Csharp.Model.ParticleEmitter2[]
--- @field Cameras? Csharp.Model.Camera[]
--- @field Lights? Csharp.Model.Light[]
--- @field RibbonEmitters? Csharp.Model.RibbonEmitter[]
--- @field TextureAnimations? Csharp.Model.TextureAnimation[]
--- @field ProcessVertices fun(self:self, minDensity:integer, distanceThreshold:number):Csharp.Model.ProcessingResult

--- @class Csharp.Model.ModelVersion
--- @field FormatVersion Csharp.Model.FormatVersion

--- @class Csharp.Model.Texture
--- @field ReplaceableId integer
--- @field FileName? string
--- @field Flags Csharp.Model.TextureFlags

--- @class Csharp.Model.Sequence
--- @field Name string
--- @field IntervalStart integer
--- @field IntervalEnd integer
--- @field MoveSpeed number
--- @field Flags Csharp.Model.SequenceFlags
--- @field Rarity number
--- @field SyncPoint integer
--- @field Extent Csharp.Model.Extent


--- @class Csharp.Model.Material
--- @field PriorityPlane integer
--- @field RenderMode Csharp.Model.MaterialRenderMode
--- @field Layers Csharp.Model.Layer[]

--- @class Csharp.Model.Geoset

--- @class Csharp.Model.GeosetAnimation

--- @class Csharp.Model.GlobalSequence

--- @class Csharp.Model.Camera
--- @field Name string
--- @field Position Csharp.Vector3
--- @field FieldOfView number
--- @field FarClippingPlane number
--- @field NearClippingPlane number
--- @field TargetPosition Csharp.Vector3
--- @field Translations Csharp.Model.AnimationChannelVector3
--- @field Rotations Csharp.Model.AnimationChannelNumber
--- @field TargetTranslations Csharp.Model.AnimationChannelVector3

--- @class Csharp.Model.TextureAnimation
--- @field Translations Csharp.Model.AnimationChannelVector3
--- @field Rotations Csharp.Model.AnimationChannelQuaternion
--- @field Scalings Csharp.Model.AnimationChannelVector3

--- @class Csharp.Model.Bone : Csharp.Model.Node

--- @class Csharp.Model.Helper : Csharp.Model.Node

--- @class Csharp.Model.Attachment : Csharp.Model.Node
--- @field AttachmentId integer
--- @field Path? string
--- @field Visibilities Csharp.Model.AnimationChannelNumber

--- @class Csharp.Model.EventObject : Csharp.Model.Node

--- @class Csharp.Model.CollisionShape : Csharp.Model.Node

--- @class Csharp.Model.ParticleEmitter : Csharp.Model.Node

--- @class Csharp.Model.ParticleEmitter2 : Csharp.Model.Node

--- @class Csharp.Model.Light : Csharp.Model.Node

--- @class Csharp.Model.RibbonEmitter : Csharp.Model.Node


--- @class Csharp.Model.ProcessingResult
--- @field ErrorCode integer 错误码，0=成功, 1=Geosets.Vertices不存在或为空, 2=顶点太少了
--- @field HeadHeight number 头部高度
--- @field ChestHeight number 胸部高度